home *** CD-ROM | disk | FTP | other *** search
/ The 640 MEG Shareware Studio 2 / The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO / clang / mrcry204.zip / GCD.C < prev    next >
C/C++ Source or Header  |  1991-03-04  |  561b  |  39 lines

  1.  
  2. /* Gcd.c
  3.  
  4. compute GCD using Euclid Algorithm
  5.  
  6. eg, GCD 156562431911123 442677773754356 = 7
  7.  
  8. Source to GCD.BIN.  Rebuild with:
  9.  
  10.     tcc -c -mt gcd
  11.     tlink x02 gcd /t/x/c,gcd.bin,,fp ld
  12.  
  13. If you are using a coprocessor, you can also build with:
  14.  
  15.     tcc -c -mt gcd
  16.     tlink x01 gcd f87 /t/x/c,gcd.bin,,fp ld
  17.  
  18. */
  19.  
  20. #include "mathl.h"
  21.  
  22. long double gcd(long double x, long double y)
  23. {
  24.     long double z;
  25.     do
  26.     {
  27.         z = fmodl(x,y);
  28.         x = y;
  29.         y = z;
  30.     }
  31.     while (z != 0);
  32.     return x;
  33. }
  34.  
  35. void pascal xmain(double far *x)
  36. {
  37.     x[0] = gcd(x[1],x[2]);
  38. }
  39.